#include <iostream>
#include "Wrappers/Pthread/Tests/Mutex_tests.hpp"
#include "Wrappers/Pthread/Tests/Thread_tests.hpp"
#include "Wrappers/Pthread/Tests/ConditionVariable_tests.hpp"
#include "Wrappers/UnixUtils/Tests/NamedPipe_tests.hpp"
#include "Wrappers/UnixUtils/Tests/Process_tests.hpp"
#include "Wrappers/Pthread/Thread.hpp"
#include "Pizzeria/Tests/Pizza_tests.hpp"
#include "Pizzeria/Tests/PizzaOrderParser_tests.hpp"
#include "Pizzeria/Tests/WalkieTalkie_tests.hpp"

static void WrappersTests() {
  wrappers::pthread::Mutex_tests mutexTest;
  std::cout << std::endl;
  wrappers::unix_utils::NamedPipe_tests namedPipeTest;
  std::cout << std::endl;
  wrappers::unix_utils::Process_tests processTest;
  std::cout << std::endl;
  wrappers::pthread::Thread_tests threadTest;
  std::cout << std::endl;
  wrappers::pthread::ConditionVariable_tests conditionVariableTest;
}

static void PizzeriaTests() {
  std::cout << std::endl;
  pizzeria::Pizza_tests pizzaTests;
  std::cout << std::endl;
  pizzeria::PizzaOrderParser_tests pizzaOrderParseTests;
  std::cout << std::endl;
  pizzeria::WalkieTalkie_tests walkieTalkieTests;
}

int main() {
  std::cout << "Will it blend?\n" << std::endl;
  WrappersTests();
  PizzeriaTests();
  std::cout << "\nYes it blends!" << std::endl;
  return 0;
}
